package com.moodswings;


import android.app.AlertDialog;
import android.content.Context;
import android.graphics.drawable.Drawable;
import com.google.android.maps.ItemizedOverlay;
import com.google.android.maps.OverlayItem;

import java.util.ArrayList;


/**
 * Klasa za crtanje po mapi. Dodaju se overlay elementi u listu sa default markerom, moguce je napraviti i vise overlay-a
 * po potrebi, iako smo u ovom primeru sve crtali na istom overlay-u. (to je korisno za razvrstavanje markera po nekim
 * karakteristikama, a lako se modifikuje)
 */
public class MoodItemizedOverlay extends ItemizedOverlay {


	Context mContext;

	private ArrayList<OverlayItem> mOverlays = new ArrayList<OverlayItem>();


	/*public MoodItemizedOverlay(Drawable defaultMarker) {
		super(boundCenterBottom(defaultMarker));
	} */


	public void addOverlay(OverlayItem overlay) {
		mOverlays.add(overlay);
		populate();
	}

	@Override
	protected OverlayItem createItem(int i) {
		return mOverlays.get(i);
	}

	@Override
	public int size() {
		return mOverlays.size();
	}

	public void clear() {
		mOverlays.clear();
		populate();
	}


	public MoodItemizedOverlay(Drawable defaultMarker, Context context) {
		super(boundCenter(defaultMarker));
		mContext = context;
	}

	/**
	 * Prilikom dodira na neki od markera (ikonica), pojavljuje se dijalog u kojem mozemo pisati sta zelimo (bice koristeno
	 * da se upise ko i kada je poslao taj podatak serveru)
	 */
	@Override
	protected boolean onTap(int index) {
		OverlayItem item = mOverlays.get(index);
		AlertDialog.Builder dialog = new AlertDialog.Builder(mContext);
		dialog.setTitle(item.getTitle());
		dialog.setMessage(item.getSnippet());
		dialog.show();
		return true;
	}


}
